General:
18
The first thing you need to do is choose a database
file to work with.  You do this by using the 'FILE'
function.  You cannot use some of the other func-
tions until after you have chosen a file.

SEARCH starts searching for duplicate records. You
must have already chosen a database file and spec-
ified search fields.

GOTO lets you jump around the file, either to just
look at the records, or else skip to a certain part
of a file to search.

UTIL lets you set colors.

ABOUT tells you more about the DB Dupe program.

QUIT does just what you would expect.
about:
28
The DB Dupe Program -- Copyright 1991, BC Enterprises.
All rights reserved.

If you use this program on an ongoing basis, please
send a registration fee of $59 to BC Enterprises, P.O.
Box 18, Front Royal, VA 22630.  In return, you will
receive the latest copy of this program, a typeset
manual, upgrades for a very low fee, and discounts on
future Dbase compatible software.

The $59 fee allows you to use this software on all
computers at one site.  In other words, your business
can use it on all computers at one location based upon
one registration fee.  A site includes multi-building
complexes owned by one entity, such as a university.

A great deal of labor has gone into this program, and
the registration fee we ask is rather modest, espe-
cially considering it is a site license.

BC Enterprises and Kevin Clark specifically disclaim
all liability for the operation of this program,
including, but not limited to, consequential, special,
and/or indirect damages.  The entire risk of using
this software, if any, is borne solely by the user of
this software.  In no case will BC Enterprises and/or
Kevin Clark be liable for more than the purchase price
of this software.
MemoHelp:
5
This is pretty straightforward.  Simply choose whether
to view the memo attached to the record in window 1 or
window 2.  If the database file has no memo field, or
if the particular record has no memo attached to it,
then no memo will be shown.
FileHelp:
39
USE lets you specify a new DBase III/IV or compatible
file to load.  You can enter a complete file name, or
use wildcards (* or ?) to bring up a directory from
which to choose.

INFO tells you several things about the currently
loaded file -- the number of records, the total
length of the file, the date of the last update,
and the size of the file header.

PARAMS lets you set an index file, a format
file, and certain search parameters for finding
duplicate records.  You need to set at least
some of these parameters before you can begin
a duplicate record search.  If you choose auto-
matic search, then you need only specify a sort
field in order to search.

SAVE lets you save the parameters which you have
currently set up.  This saves some time if you
do a duplicate record search on a periodic bas-
is, especially if you do it with several data-
bases.

LOAD restores a previously saved parameter file.

INDEX creates a special DLX (DeLete IndeX) based
on one of the field of the database.  The special
format is optimized for fast searches, but only
supports indexing on straight fields, and can-
not index on expressions.

RECALL undeletes (recalls) any records in the
file which have been marked for deletion, whether
they have been marked using this program or some
other program.  This recall is not undoable, un-
less you re-delete the recalled records.

RETURN gets you back to the previous menu.
HelpParms:
53
SEARCH FIELDS are the fields upon which records are
compared to see if they match.  You only specify up
to 2 fields because, if the records match on 2 fields,
in addition to the sort field, then there is a very
good likelihood that they are duplicate records.  You
may only specify one search field if you like, which
is often more effective.  IF YOU USE AUTOMATIC SEARCH,
YOU DO NOT HAVE TO SPECIFY SEARCH FIELDS, SINCE THE
ENTIRE RECORD MUST MATCH DURING AN AUTOMATIC SEARCH.

SORT FIELD is the field that the file is sorted by.
This is typically last name or zip code for name and
address databases.  Other types of databases will vary.
If you specify an index file, then the sort order is
set by that index.  To specify another sort order, you
would need to change index files.

INDEX lets you choose an index file associated with the
database file.  This program currently supports indexes
in the Dbase III Plus/Dbase IV .NDX format and the
FoxBase+/FoxPro .IDX format.  The DBDup program dir-
ectly uses .IDX indexes, and automatically converts
.NDX format files to the DBDup native .DLX format.  You
also can generate your own DLX format indexes.

FORMAT lets you specify a format file to be associated
with the database.  This program uses standard Dbase
format files.  The use of format files is a good idea
with this program, since they allow more of a record
on the screen at once.

SOUNDEX is a very helpful little function which finds
words that sound alike.  For instance, the names
Madison and Matteson would come up as being the same.
This helps you catch duplicate records containing
misspellings.  Soundex searching does not add substan-
tial time to the search, and it is very effective in
catching duplicates. It is highly recommended that you
use it.

SEARCH TYPE lets you specify whether you want an
AUTOMATIC, AUTO EXCLUDE, or INTERACTIVE search.  Auto-
matic searches the database for identical records and 
automatically marks duplicates for deletion.  AUTO,
EXCLUDE does the same, but lets you exclude one field
from this comparison.  Interactive searches the data-
base for records are duplicates on the fields you spe-
cify.  Then it shows these records to you to let you 
decide if you want to delete one or both.  Automatic 
search is obviously much faster, but interactive 
search is far more effective.

REPORT lets you specify is want a printed report.
GotoHelp:
9
GOTO # lets you specify a database record to advance
to.  You can enter any number from 1 to the last re-
cord in the database file.

NEXT advances you to the next record in the file.

PREVIOUS moves you to the previous record in the file.

RETURN exits from the current menu.
RecOpsHelp:
15
DELETE 1 deletes the record in window 1.

DELETE 2 deletes the record in window 2.

ZOOM lets you more fully view the records currently
shown.  This is helpful is not all fields can be
displayed on the screen at one time.  If you are using
a VGA display with a format file, you probably won't
need ZOOM since you will likely be able to view two
full records at once.

UNDELETE lets you restore (recall in DBase lingo) re-
cords which had previously been marked to be deleted.

RETURN exits from the current menu.
IndexGotoHelp:
24
TOP takes you to the first record in the file.  You
also are automatically moved to the first record in
a database file when you 1) load a new database file
2) load or change the index, 3) change the sort order
of the database.

NEXT moves you to the next logical record based on
the index field or expression.

PREVIOUS takes you to the previous logical record
based on the index field or expression.

ADVANCE moves you a certain of records through the
database file.  When using indexes, physical record
number is really meaningless.  The only meaningful
numbers are relative numbers.  Thus, to skip 100
records, you need to advance through the index,
rather than goto a record number 100 records past
the current record.

DELETED takes you to the next deleted record, or to
the end of the file, if no deleted record is found.

RETURN exits from the current menu.
NotDBase:
16
The file you have specified is not a DBase III/IV or
FoxBase+/FoxPro compatible file.

Although this program is very liberal about what it
considers to be a Dbase or compatible file, certain
minimum requirements must be met; such as, the header
must end at the right place.  Otherwise, this program
simply cannot use the file.

Since the program may consider a non-compatible file
to be compatible, you should always make sure that
the fields appear to be correct in the two windows
when you load a file.  If the fields are correct,
then the file is probably compatible.  If the fields
are not correct, then the file is not compatible,
and this program should not be used on it.
NoMatch:
6
No files in the directory you chose match the file
specification you have given.  Perhaps you mistyped
the file specification, or perhaps the file you are
looking for is in another directory.  To show all
files in a subdirectory, use the file specification
'*.*' (do not type quotation marks).
NoMemoFile:
12
Even though this file may have a memo field, and the
current record may indicate that a memo exists, the
memo file for this database is not in the same dir-
ectory with the database.  Memo files generally
have the same name as the database, with the exten-
sion '.DBT'.  FoxPro database memo files use the ex-
tension '.FPT'.  They must reside in the same direc-
tory as the database.

The DBDup program will use databases with missing
memo files, but you will not, obviously, be able
to read whatever memos might exist.
NoChangeIndex:
9
The order of the current database is set by the
index file you have loaded.  You cannot set a new
sort order while the current index is loaded.  To
set a new sort order, you will have to specify a
different index, or unload the current index.

To unload the current index, hit -Enter- on the
Index line, and then delete the name of the current
index.
NoSortField:
10
The DBDup program must know what field the current
file is sorted on, or else it cannot search for dup-
licates.  When the DBDup program searches, it com-
pares all records that are the same based on the
sort field or the sort field or expression given in
the index file.  If no sort order is set, then the
program has no basis for searching.

To set the sort order, either highlight a sort field,
or specify an index file.
NoRecords:
3
The Dbase file which you have loaded consists only
of a file header.  It has no records, so it is a
pretty sure bet that it contains no duplicates.
NoFile:
10
The function you have chosen cannot be completed un-
til you have loaded a database file.  To load a
database file, use 'File' at the opening menu, then
'Use' at the File menu.  At that point, you can ei-
ther type in the name of a database file, or ask for
a directory search.

Alternatively, you can open a database file by load-
ing a DBDup parameter file using the 'Load' command
from the File menu.
BadIndex:
15
The index you have specified does not appear to be
a Dbase or FoxBase compatible index.  This may be a
Clipper NTX index or some other incompatible index
format.  Or perhaps an otherwise valid index file
has been corrupted in some way.

If you believe that the specified index is a valid
DBase or FoxBase index file, then you should run
your copy of Dbase or FoxBase and REINDEX.  This
will create a valid index which can be used by the
DBDup program.

If you are unsure as to whether the specified index
is compatible with DBDup, consult the program manual
for a listing of compatible programs and files.
CnvtIndex:
8
A DLX file already exists which may be equivalent to
the DLX file that converting the NDX file would make.
If you think this DLX file is up to date, then there
is no reason to create another one.

By the way, you need to either convert the index, or
use the old one.  Hitting ESC does not cancel this
function.
OkIndex:
19
The index you have specified has been recognized as
a valid index.  The key expression, as contained in
the index file, and the format of the index file
(DBase, FoxBase, or DLX) is shown.  If both the
format of the index and the key expression are cor-
rect, then it is same to assume that this is a com-
patible index.

The 'Key Expression' shown determines the sort order
of the database.  Since a file may have multiple
indexes associated with it, you may be able to deter-
mine several sort orders for your files.  In fact,
using different indexes for searches is a good way
to find as many duplicates as possible.  Searching
files in different sort orders with different indexes
minimizes the effects of misspellings, etc.

If you want to use this index, then hit -Enter- at the
dialog box, or push 'C' to cancel using this index.
AllFields:
4
All the fields of the current database are already
displayed on the screen.  If this record has a memo
attached to it, you can see if by pushing 'M' for
memo.
FileNotFound:
2
The file you specified was not found.  It may be in
a different directory, or perhaps you misspelled it.
NoSearchField:
7
When you don't specify a search field, any record
which matches on the sort field will be seen as a
duplicate record.  When you do this, you are guar-
anteed to be shown plenty of records which aren't
really duplicates.  However, this type of search
is supported since there may be cases when it would
be useful, although I can't think of any.
NotRIndex:
14
The DBDup program does not recognize the index key
expression of this index as one of the fields con-
tained in this database.  So, it might not be the
right index.  However, it may be that this index
was created using one of the DBase functions.  For
instance, if the index expression is VAL(ZIP), the
program would not recognize the expression, but it
would be a valid index anyway.  On the other hand,
if the key expression is comprised only of a field
name, and not a function, then it is a good bet that
this index was not created for this database.

If you are unsure, the best idea is just to use the
index and see if it appears to work.
WrongIndex:
6
This index contains record numbers that are greater
than the total number of records in the database.
Either the current index needs to be RE-INDEXED, or
it is simply the wrong index for the current data-
base.  You can use the 'Index' function under the
'File' main menu selection to create a new index
NotValid:
4
The filename that you specified contains illegal
characters, or in some way violates the rules that
DOS imposes on filenames.  Try using something sim-
ple, such as a filename consisting of letters only.
CantCreate:
6
The operating system will not allow me to create
the file you have specified.  This could be caused
by a number of different conditions -- the drive
you specified not existing, a drive being write-
protected, etc.  The easiest thing to do is to
choose a new filename and/or drive.
OKIndex:
4
All appears well with this index, and it is ready
to be loaded, if you so choose.  You are shown the
format and the key expression.  If these agree with
you, then choose OK.  Otherwise, choose Cancel.
FileLocked:
10
Someone else on your network has that file locked
and no one else can access it.  This program can use
files while they are being used by others, if the
others are using them in shared mode.

Either have the other person close the file, or have
them use it in shared mode.

If you are not logged onto a network, then it's any-
body's guess why you are getting this error.
NoRoom:
3
The drive you have specified for the current oper-
ation does not have enough space left.  Specify
another drive.
UnDelHelp:
4
You can undelete (recall) the record in window 1 or
the record in window 2.  A deleted record has an
asterisk as the first character.  This function over-
writes the asterisk with a blank space.
UtilHelp:
7
Set colors, interestingly enough, allows you to set
the colors you want for this program.  Not every color
is set directly, but you can set every color at least
indirectly.  For example, the colors of the pop up
help is set by setting the dialog box colors.

The new colors you set take effect immediately.
ZoomHelp:
17
The zoom function allows you to see all database
fields, some of which may not be normally displayed
due to screen constraints.

If you do not have a format set, the fields appear in
a box in the middle of the screen.  You can use the
arrow keys to scroll through the fields.  The entire
contents of each field is displayed, and fields are
broken up over multiple lines if necessary.

If you have a format, then the screen is cleared and
the format is shown pretty much as it would appear
if it were displayed while running Dbase.  You can
view multi-page formats by using the PgUp and PgDn
keys just as you would in Dbase.  If the instruction
box in the lower right hand corner is obstructing
your view, push R to remove it.
DLXFound:
4
There is already an existing DLX file by the name
you have specified.  If you continue, you will
overwrite this file.  You can specify a new name
if you do not want to overwrite the file.
NotFormatFile:
7
The file you have specified has no '@ say' or
'@ get' clauses as a format file normally would.
For this reason, it does not appear to be a format
file.  You can still load it, but the screen will
be blank, showing no fields.  Were I you, I would
either specify a new format file, or not use any
format.
BadSPT:
4
The SPT file you have specified cannot be loaded.
It may have been corrupted somehow, not have the
proper number of lines, or in some other way not be
a valid SPT file.
Recall?:
10
This function will recall, or undelete all records
in this file which have been marked for deletion.
It will undelete records that have been marked for
deletion by either the DB-Dupe program or by your
regular database program.

This function is helpful if you have accidentally
marked records to be deleted that you don't really
want deleted.  It is also probably faster at re-
calling records than most databases.
Soundex?:
7
Using the SOUNDEX option creates an index which
is alphabetized by Soundex codes, rather than by
alphabetical or numerical order.  This indexes
records by how they sound, rather than how they
are spelled.  Soundex indices are good to use with
alphabetic fields, but should not be used on fields
which are primarily numerica, such as zip codes.
NoPunc?:
9
The NOPUNC option creates an index using alphanu-
meric characters only.  Any punctuation, such as
spaces, periods, commas, semi-colons, are stripped.
This is effective for finding duplicates, because
often fields will have different spacing or punc-
tuation, and otherwise be the same.

This does slow down indexing time by 5%-10%, but
is usually worth it.
BadPrinter:
10
The specified printer port either does not exist, or
there is no printer hooked up to it, or the printer
is not ready, or it has no paper, or something else
is wrong.

If you can't your printer to work properly, then just
save the report to a file.  From there, you can ei-
ther print from the DOS prompt using COPY, or you can
load the file into your word processor and print from
there.
NoMFound:
7
The memo file for this database could not be located.
Just as with Dbase, DB Dupe requires memo files to be
in the same directory as the database with which they
are associated.  DB Dupe looks for .DBT files with
either Dbase III/IV or FoxBase databases, or .FPT
files with FoxPro databases.  In any case, it cannot
locate the proper kind of memo file.
RecordLocked:
15
If you are working on a network, then someone pro-
bably has this file locked.  While someone is editing
a record, it is protected from being edited by anyone
else.  When they are done editing the record, you
will be able to write to it.

If the record is not locked, then you may be using
an incompatible file type.  Dbase-type databases use
a special character at the beginning of each record
to signify that a record is deleted or not deleted.
A deleted record has an asterisk as the first char-
acter, while other records have a space.  If DB Dupe
encounters a character other than asterisk or space
at this location, it will refuse to write to the
record.
FormatError:
9
An error reading a format file can be due to a num-
ber of things.  The most likely problem is that the
specified file is not a valid format file.  Only
plain ASCII text format files are usable.  Compiled
format files, such as are used in some cases by
DBase IV and FoxPro, are not usable by DB Dupe.

Other possible errors include hard drive errors, or
memory errors.
NoExclude:
2
For obvious reasons, you can't exlude one field from 
a search when the database only has one field.
DeleteHelp:
19
DELETE 1 OR 2 deletes the record in window 1 or the 
record in window 2.

ZOOM shows you more of either record if the whole
record does not fit on the screen.  (You can also use
the function keys.)

MEMO lets you view the memo attached to the record in
window 1 or the record in window 2.  (You can also use
the function keys.)

UNDELETE recalls a record you have previously deleted.
(You can also use the function keys.)

CONTINUE goes on searching without deleting either
record.

STOP ends the search and takes you back to the main
menu.
